package com.ruangong.GitClient.app.GiteeFile;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import com.ruangong.GitClient.GiteeAPI.GiteeRepository;
import com.ruangong.GitClient.GiteeAPI.GiteeRepositoryAdapter;
import com.ruangong.GitClient.R;

import java.util.List;

public class GiteeRepositoryActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_giteerepository);

        List<GiteeRepository> repos = (List<GiteeRepository>) getIntent().getSerializableExtra("repositories");
        // 现在你可以在这里使用 repos 来更新 UI 显示存储库信息
        if (repos != null) {
            // 如果 selectedRepo 不为空，则执行相应的操作
        } else {
            // 如果 selectedRepo 为空，可以进行相应的错误处理或提示用户
            Log.e("GiteeRepositoryActivity", "repos is null");
        }

        ListView listView = findViewById(R.id.listView2);

        // 创建并设置适配器
        GiteeRepositoryAdapter adapter = new GiteeRepositoryAdapter(this, repos);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                GiteeRepository selectedRepo1 = null; // 获取被点击项对应的 GiteeRepository 对象
                if (repos != null) {
                    selectedRepo1 = repos.get(position);
                }

                // 创建 Intent，并将选定的 GiteeRepository 对象传递到新的活动中
                Intent intent = new Intent(GiteeRepositoryActivity.this, GiteeFileViewerActivity.class);
                if (selectedRepo1 != null) {
                    intent.putExtra("selectedRepo", selectedRepo1);
                    startActivity(intent);
                } else {
                    // 如果 selectedRepo1 为空，可以进行相应的错误处理或提示用户
                    Log.e("GiteeRepositoryActivity", "selectedRepo1 is null");
                }
                startActivity(intent);
            }
        });

    }
}
